﻿#include <WS2tcpip.h>
#include <stdio.h>
#include <tchar.h>
#include "Server.h"

// 程序入口
int main() {
    SOCKADDR_IN addr = { 0 };
    int addrLen = sizeof(SOCKADDR_IN);
    TCHAR buffer[20] = { 0 };

    // 创建服务
    Server* server = New_Server();

    // 开启服务
    BOOL result = server->start(server);
    if (!result) {
        printf("Start server failed.\n");
        return 0;
    }

    // 显示 IP 地址和端口号
    getsockname(server->mSocket, (SOCKADDR*)(&addr), &addrLen);
    InetNtop(AF_INET, &addr.sin_addr, buffer, sizeof(buffer) / sizeof(TCHAR));
    _tcprintf_s(_T("IP: %s\nPort: %u\n"), buffer, ntohs(addr.sin_port));

    // 防止程序结束
    getchar();

    // 删除服务
    server->deleteSelf(server);

    return 0;
}
